perm filename STRC.INS[MUS,LCS] blob sn#271077 filedate 1977-03-17 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00002 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	SRATE←25600MAG←512/SRATENCHNS←1
C00008 ENDMK
C⊗;
SRATE←25600;MAG←512/SRATE;NCHNS←1;
EXTERNAL FUNCTION
    EXP(A),
    ALOG(A);
FUNCTION POWER(X,N)=EXP(N*ALOG(X));	comment nth power of x;
VARIABLE /X,/Y,/Z,/XX,/YY,/ZZ,TMP1,TMP2,TMP3,TMP4,
TMP21,TMP22,TMP23,TMP24,
TMP31,TMP32,TMP33,TMP34,
TMP41,TMP42,TMP43,TMP44,
TMP51,TMP52,TMP53,TMP54,
/AA,/BB,/AA2,/BB2,/AA3,/BB3,/AA5,/BB5,/DELTA,
I,V4;
V4←1;
ARRAY FR(37),I1(37),I2(37);
FR(0)←FS/2;	I1(0)←1.6;
FR(1)←G/2;	I1(1)←1.5;	I2(1)←1.2;
FR(2)←GS/2;	I1(2)←1.2;	I2(2)←1.1;
FR(3)←A/2;	I1(3)←1.0;	I2(3)←1.4;
FR(4)←AS/2;	I1(4)←1.0;	I2(4)←1.4;
FR(5)←B/2;	I1(5)←1.2;	I2(5)←1.3;
FR(6)←C;	I1(6)←1.3;	I2(6)←1.0;
FR(7)←CS;	I1(7)←1.2;	I2(7)←1.2;
FR(8)←D;	I1(8)←1.5;	I2(8)←1.4;
FR(9)←DS;	I1(9)←1.5;	I2(9)←1.0;
FR(10)←E;	I1(10)←1.4;	I2(10)←0.6;
FR(11)←F;	I1(11)←1.3;	I2(11)←1.2;
FR(12)←FS;	I1(12)←1.25;	I2(12)←1.0;
FR(13)←G;	I1(13)←1.2;	I2(13)←0.6;
FR(14)←GS;	I1(13)←1.1;	I2(14)←0.7;
FR(15)←A;	I1(15)←1.2;	I2(15)←1.0;
FR(16)←AS;	I1(16)←1.7;	I2(16)←1.0;
FR(17)←B;	I1(17)←1.6;	I2(17)←1.0;
FR(18)←C*2;	I1(18)←1.5;	I2(18)←1.0;
FR(19)←CS*2;	I1(19)←1.6;	I2(19)←1.0;
FR(20)←D*2;	I1(20)←1.4;	I2(20)←1.0;
FR(21)←DS*2;	I1(21)←1.3;	I2(21)←1.0;
FR(22)←E*2;	I1(22)←1.1;	I2(22)←1.0;
FR(23)←F*2;	I1(23)←1.0;	I2(23)←1.0;
FR(24)←FS*2;	I1(24)←1.2;	I2(24)←1.0;
FR(25)←G*2;	I1(25)←0.7;	I2(25)←1.0;
FR(26)←GS*2;	I1(26)←1.0;	I2(26)←1.0;
FR(27)←A*2;	I1(27)←0.9;	I2(27)←1.0;
FR(28)←AS*2;	I1(28)←0.8;	I2(28)←1.0;
FR(29)←B*2;	I1(29)←0.7;	I2(29)←1.0;
FR(30)←C*4;	I1(30)←0.6;	I2(30)←1.0;
FR(31)←CS*4;	I1(31)←0.55;	I2(31)←1.0;
FR(32)←D*4;	I1(32)←0.5;	I2(32)←1.0;
FR(33)←DS*4;	I1(33)←0.45;	I2(33)←1.0;
FR(34)←E*4;	I1(34)←0.4;	I2(34)←1.0;
FR(35)←F*4;	I1(35)←0.35;	I2(35)←1.0;
FR(36)←C/2;	I1(36)←2.00;













INSTRUMENT STRCA;
VARIABLE V4,T1,T2,T3,T4,/AB4,/AA4,/BB4;
V4←1;
I_ONLY BEGIN
  IF P25=0 THEN
    BEGIN
		P14←P24←0;
		P18←F6;
		P19←F6;
    END
    ELSE BEGIN
	P14←POWER(2.5,(P3/2000))*.005;
	P24←P14*20;
	P18←F5;
	P19←F5;
    END;
FOR I←1 STEP 1 UNTIL 35 DO
	BEGIN
	IF P4=FR(I) THEN
		BEGIN
			P7←I1(I);
			P10←1.0;
<			P10←I2(I);
		END;
	END;
	IF P21=0 THEN P22←.35 ELSE P22←.03;
	IF V4>0.03 THEN P21←.35 ELSE P21←.03;
	IF P21+P22≥P2 THEN
		BEGIN
		IF P21+P22≥.69 THEN
				BEGIN
				P21←(P2*.50)-.01;
				P22←(P2*.50);
				END;
		IF P22≤.03 THEN P21←P2-P22-.01;
		IF P21≤.03 THEN P22←P2-P21-.01;
		END;
	V4←P22;
	P5←1;
	P6←1.000;
	P8←P7+1;
	P9←4.000;
	P11←P10+1.0;
	P12←.007;
	P13←20.0;
	P16←.01;
	P17←F4;
	P20←F1;
	P23←50*P12;
	P3←P3/2;
	T1←0.5;
	T2←-1.2;
	T3←-.75;
	T4←1.5;


	END;
LINEN(1,P21,P22,P2,P17,TMP44←0);			< U1
RANDI(1,P13*MAG);					< U2
OSCIL(U1,P15*MAG,F1);					< U3
LINEN(P16,P21,P22,P2,F3,TMP41←0);			< U4

AA4←(1+U2*P12)*(1+U3*P14)*(1+U4)*MAG;
AB4←(1+RANDI(.007,15*MAG))*(1-U3*P14)*(1-U4)*MAG;
BB4←(1+U2*P23)*(1+U3*P24)*MAG;

LINEN((P8-P7)*P6*P4*BB4,P21,P22,P2,P18,TMP42←0);	< U5
OSCIL(((P7*P6*P4)*MAG)+U5,P6*(P4+T1)*AA4,P20);		< U6
LINEN((P11-P10)*P9*P4*BB4,P21,P22,P2,P19,TMP43←0);	< U7
OSCIL(((P10*P9*P4)*MAG)+U7,P9*(P4+T2)*AA4,P20);		< U8
ZOSCIL(U1*P3,P5*P4*AA4+U6+U8,F1);			< U9

OSCIL(((P7*P6*P4)*MAG)+U5,P6*(P4+T3)*AB4,P20);		< U6
OSCIL(((P10*P9*P4)*MAG)+U7,P9*(P4+T4)*AB4,P20);		< U8
ZOSCIL(U1*P3,P5*P4*AB4+U10+U11,F1);			< U9
OUTA←OUTA+U9+U12;
END;